/*
 * This is GPL v2 licensed code. See the file LICENSE in the
 * source distribution, or www.gnu.org/copyleft/gpl.html, for
 * more information.
 *
 * Copyright (C) by Håkan Lindqvist 2006, 2007
 */

package PolicyAlgebra.Tool;


/** 
 * This interface should be implemented by all tools that
 * are used to interact with the algebra; most important is 
 * that some plugins need the ability to request certain 
 * input and the tool is the only sensible interaction channel.
 */
public interface Tool {
	
	/** 
	 * Ask for a password. 
	 * 
	 * @param prompt The input request description.
	 * @return The password.
	 */
	public String getPassword(String prompt);


	/** 
	 * Ask for some input, this differ from the password
	 * method in that the password input should hide the
	 * input while this doesn't have to.
	 * 
	 * @param prompt The input request description.
	 * @return The response to the input request.
	 */
	public String getStringInput(String prompt);
}
